/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.view;

import com.perpus.Buku;
import com.perpus.Majalah;
import com.perpus.Perpustakaan;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;


public class PanelTambahPublikasi extends JPanel{

    private JLabel judul;
    private JLabel labelKodeKoleksi;
    private JTextField textKodePublikasi;
    private JLabel labelJudul;
    private JTextField textJudul;
    private JLabel labelPenulis;
    private JTextField textPenulis;
    private JLabel labelPenerbit;
    private JTextField textPenerbit;
    private JLabel labelTahun;
    private JTextField textTahun;
    private JButton tombolSimpan;
    private JButton tombolBatal;
    private JRadioButton radioBuku;
    private JRadioButton radioMajalah;

    public PanelTambahPublikasi(){
        setLayout(null);

        judul = new JLabel("FORM TAMBAH PUBLIKASI");
        judul.setBounds(170, 0, 200, 50);
        judul.setVisible(true);
        this.add(judul);

        radioBuku = new JRadioButton("Buku");
        radioBuku.setBounds(170, 50, 80, 50);
        radioBuku.setVisible(true);
        this.add(radioBuku);

        radioMajalah = new JRadioButton("Majalah");
        radioMajalah.setBounds(250, 50, 80, 50);
        radioMajalah.setVisible(true);
        this.add(radioMajalah);

        labelKodeKoleksi = new JLabel ("IdKoleksi");
        labelKodeKoleksi.setBounds(50, 90, 200, 50);
        labelKodeKoleksi.setVisible(true);
        this.add(labelKodeKoleksi);

        textKodePublikasi = new javax.swing.JFormattedTextField();
        textKodePublikasi.setPreferredSize(new java.awt.Dimension(60, 20));
        textKodePublikasi.setBounds(150, 100, 280, 30);
        textKodePublikasi.setVisible(true);
        this.add(textKodePublikasi);

        labelJudul = new JLabel("Judul");
        labelJudul.setBounds(50, 130, 200, 50);
        labelJudul.setVisible(true);
        this.add(labelJudul);

        textJudul = new javax.swing.JFormattedTextField();
        textJudul.setPreferredSize(new java.awt.Dimension(60, 20));
        textJudul.setBounds(150, 140, 280, 30);
        textJudul.setVisible(true);
        this.add(textJudul);

        labelPenulis = new JLabel("Penulis");
        labelPenulis.setBounds(50, 170, 200, 50);
        labelPenulis.setVisible(true);
        this.add(labelPenulis);

        textPenulis = new javax.swing.JFormattedTextField();
        textPenulis.setPreferredSize(new java.awt.Dimension(60, 20));
        textPenulis.setBounds(150, 180, 280, 30);
        textPenulis.setVisible(true);
        this.add(textPenulis);

        labelPenerbit = new JLabel("Penerbit");
        labelPenerbit.setBounds(50, 210, 200, 50);
        labelPenerbit.setVisible(true);
        this.add(labelPenerbit);

        textPenerbit = new javax.swing.JFormattedTextField();
        textPenerbit.setPreferredSize(new java.awt.Dimension(60, 20));
        textPenerbit.setBounds(150, 220, 280, 30);
        textPenerbit.setVisible(true);
        this.add(textPenerbit);

        labelTahun = new JLabel("Tahun");
        labelTahun.setBounds(50, 250, 200, 50);
        labelTahun.setVisible(true);
        this.add(labelTahun);

        textTahun = new javax.swing.JFormattedTextField();
        textTahun.setPreferredSize(new java.awt.Dimension(60, 20));
        textTahun.setBounds(150, 260, 280, 30);
        textTahun.setVisible(true);
        this.add(textTahun);

        ButtonGroup bgroup = new ButtonGroup();
        bgroup.add(radioBuku);
        bgroup.add(radioMajalah);

        tombolSimpan = new javax.swing.JButton("simpan");
        tombolSimpan.setPreferredSize(new java.awt.Dimension(120, 60));
        this.add(tombolSimpan);
        tombolSimpan.setBounds(50, 300, 150, 50);
        tombolSimpan.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    tombolSimpanAction();
                } catch (Exception ex) {
                    Logger.getLogger(PanelTambahPublikasi.class.getName()).log(Level.SEVERE, null, ex);
                    JOptionPane.showMessageDialog(null, ex);
                }
            }
        });

        tombolBatal = new javax.swing.JButton("batal");
        tombolBatal.setPreferredSize(new java.awt.Dimension(120, 60));
        this.add(tombolBatal);
        tombolBatal.setBounds(280, 300, 150, 50);
        tombolBatal.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
    }

    public void tombolSimpanAction() throws Exception {
        if (radioBuku.isSelected()) {
            Buku buku = new Buku();
            buku.setIdKoleksi(textKodePublikasi.getText());
            buku.setJudul(textJudul.getText());
            buku.setPenulis(textPenulis.getText());
            buku.setPenerbit(textPenerbit.getText());
            buku.setTahun(textTahun.getText());
            Perpustakaan.tambahPublikasi(buku);
            Perpustakaan.tambahTabelPublikasi(buku);
            JOptionPane.showMessageDialog(this,
                                                "\n id koleksi  : " +buku.getIdKoleksi()+
                                                "\njudul        : " +buku.getJudul()+
                                                "\npenulis      : " +buku.getPenulis()+
                                                "\ntahun        : " +buku.getTahun());
        }
        else {
            Majalah majalah = new Majalah();
            majalah.setIdKoleksi(textKodePublikasi.getText());
            majalah.setJudul(textJudul.getText());
            majalah.setPenulis(textPenulis.getText());
            majalah.setPenerbit(textPenerbit.getText());
            majalah.setTahun(textTahun.getText());
            Perpustakaan.tambahPublikasi(majalah);
            Perpustakaan.tambahTabelPublikasi(majalah);
            JOptionPane.showMessageDialog(this,
                                                "id koleksi : " +majalah.getIdKoleksi()+
                                                "\njudul    : " +majalah.getJudul()+
                                                "\npenulis  : " +majalah.getPenulis()+
                                                "\ntahun    : " +majalah.getTahun());
        }
    }

}
